package com.entmanage.base.collegeco.domain;

import com.entmanage.common.annotation.Excel;
import com.entmanage.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 实习评分标准模板库（主）对象 hrm_eval_template
 *
 * @author lsq
 * @date 2025-08-01
 */
public class CollegecoEvalTemplate extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 模板ID */
    private Long templateId;

    /** 模板名称，如：软件开发实习生评分标准 */
    @Excel(name = "模板名称，如：软件开发实习生评分标准")
    private String templateName;

    /** 分类：如 技术岗、行政岗、销售岗、校内实习、校外实习 */
    @Excel(name = "分类：如 技术岗、行政岗、销售岗、校内实习、校外实习")
    private String category;

    /** 适用对象：如 Java实习生、前端实习生、大三学生 */
    @Excel(name = "适用对象：如 Java实习生、前端实习生、大三学生")
    private String applicableFor;

    /** 模板说明或使用场景 */
    @Excel(name = "模板说明或使用场景")
    private String description;

    /** 状态：1-启用，0-停用 */
    @Excel(name = "状态：1-启用，0-停用")
    private Long status;

    /** 版本号 */
    @Excel(name = "版本号")
    private String version;

    /** 是否公开：1-所有部门可见，0-仅创建者/指定部门可见 */
    @Excel(name = "是否公开：1-所有部门可见，0-仅创建者/指定部门可见")
    private Long isPublic;

    /** 创建人部门ID（用于权限控制） */
    @Excel(name = "创建人部门ID", readConverterExp = "用=于权限控制")
    private Long createDept;

    /** 评分模板-评分项明细信息 */
    @ApiModelProperty(value = "评分模板-评分项明细信息")
    private List<CollegecoEvalTemplateItem> hrmEvalTemplateItemList;

    /** 删除逻辑标识 */
    @ApiModelProperty(value = "删除逻辑标识")
    private String delFlag;

    /** 用户ID */
    @Excel(name = "用户ID")
    @ApiModelProperty(value = "用户ID")
    private Long userId;

    /** 部门ID */
    @Excel(name = "部门ID")
    @ApiModelProperty(value = "部门ID")
    private Long deptId;

    public void setTemplateId(Long templateId)
    {
        this.templateId = templateId;
    }

    public Long getTemplateId()
    {
        return templateId;
    }
    public void setTemplateName(String templateName)
    {
        this.templateName = templateName;
    }

    public String getTemplateName()
    {
        return templateName;
    }
    public void setCategory(String category)
    {
        this.category = category;
    }

    public String getCategory()
    {
        return category;
    }
    public void setApplicableFor(String applicableFor)
    {
        this.applicableFor = applicableFor;
    }

    public String getApplicableFor()
    {
        return applicableFor;
    }
    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription()
    {
        return description;
    }
    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus()
    {
        return status;
    }
    public void setVersion(String version)
    {
        this.version = version;
    }

    public String getVersion()
    {
        return version;
    }
    public void setIsPublic(Long isPublic)
    {
        this.isPublic = isPublic;
    }

    public Long getIsPublic()
    {
        return isPublic;
    }
    public void setCreateDept(Long createDept)
    {
        this.createDept = createDept;
    }

    public Long getCreateDept()
    {
        return createDept;
    }

    public List<CollegecoEvalTemplateItem> getHrmEvalTemplateItemList()
    {
        return hrmEvalTemplateItemList;
    }

    public void setHrmEvalTemplateItemList(List<CollegecoEvalTemplateItem> hrmEvalTemplateItemList)
    {
        this.hrmEvalTemplateItemList = hrmEvalTemplateItemList;
    }

    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("templateId", getTemplateId())
                .append("templateName", getTemplateName())
                .append("category", getCategory())
                .append("applicableFor", getApplicableFor())
                .append("description", getDescription())
                .append("status", getStatus())
                .append("version", getVersion())
                .append("isPublic", getIsPublic())
                .append("createBy", getCreateBy())
                .append("createDept", getCreateDept())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("hrmEvalTemplateItemList", getHrmEvalTemplateItemList())
                .append("delFlag", getDelFlag())
                .append("userId", getUserId())
                .append("deptId", getDeptId())
                .toString();
    }
}

